package maple.thelittleredbook.content.dto;

import lombok.Data;
import java.time.LocalDateTime;

/**
 * 操作状态响应DTO
 * 用于查询异步操作的执行状态和进度
 */
@Data
public class OperationStatusDTO {

    /**
     * 操作ID
     */
    private Long operationId;

    /**
     * 内容ID
     */
    private Long contentId;

    /**
     * 操作类型
     * UPLOAD_IMAGES, UPLOAD_VIDEO, UPLOAD_COVER, UPDATE_IMAGES, UPDATE_VIDEO, UPDATE_COVER
     */
    private String operationType;

    /**
     * 操作状态
     * PROCESSING, COMPLETED, FAILED
     */
    private String operationStatus;

    /**
     * 总操作数
     */
    private Integer totalOperations;

    /**
     * 已完成操作数
     */
    private Integer completedOperations;

    /**
     * 错误信息
     */
    private String errorMessage;

    /**
     * 开始时间
     */
    private LocalDateTime startedAt;

    /**
     * 完成时间
     */
    private LocalDateTime completedAt;

    /**
     * 进度百分比
     * 0.0 - 100.0
     */
    private Double progressPercentage;
}